<!--
 * @FilePath     : /study_code/layui/12-6-7.html
 * @Description  : form.on() select 下拉选事件
 * @Date         : 2025-04-07 16:07:21
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-04-07 17:00:18
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="/layui/dist/css/layui.css" />
  </head>
  <body>
    <form class="layui-form">
      <h2>1、select 下拉选择事件</h2>
      <div class="layui-form-item">
        <label class="layui-form-label">下拉选择框</label>
        <div class="layui-input-block" id="hobby">
          <select name="interest" lay-filter="hobby">
            <option value="0">写作</option>
            <option value="1">阅读</option>
          </select>
        </div>
      </div>
    </form>

    <script src="/layui/dist/layui.js"></script>
    <script>
      layui.use(['form'], function () {
        var form = layui.form,
          $ = layui.$

        /**
         * @brief: 触发 select 下拉选择事件；
         * @param {Sting} event(filter),
         * #event: select 事件
         * #filter: 触发事件的表单过滤；
         * @param {Function} callback(data),事件触发时调用的回调；
         * #data, 事件触发时获取当前表单元素及数据；
         * data.elem, // 得到表单原始DOM对象 （整个select）
         * $data.value, // !得到被选中的值；（选中的 option 的 value 值【value属性对应的value值】）
         * data.othis, // 得到美化后的DOM对象（整个美化后的select）
         * !1、事件是在下拉选项被点击后触发；
         * !2、可通过参数获取 option 选项值；
         */
        // form.on('select(filter)', callback(data));
        form.on('select(hobby)', function (data) {
          // console.log(data.elem);
          console.log(data.value)
          // console.log(data.othis);
          console.log(data.elem[data.value].innerHTML)
        })
      })
    </script>
  </body>
</html>
